package net.hn.hnms.biz.plan.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;


/**
 * @author zhaoyang
 * 其他生产计划信息
 * @date 2022-08-02
 */

@Data
@ApiModel("其他生产计划信息")
public class PlanOtherVO extends BaseVO {
    /**
     * 创建人ID
     */
    @ApiModelProperty(value = "创建人ID",hidden=true)
    private String createUserId;
    /**
     * ID
     */
    @ApiModelProperty(value = "id")
    private String otherPlanId;


    /**
     * 计划编号
     */
    @ApiModelProperty(value = "计划编号")
    @NotBlank(message = "计划编号不能为空")
    @Length(max = 100,message = "计划编号长度不能超过100个字符")
    private String otherPlanCode;

    /**
     * 计划名称
     */
    @ApiModelProperty(value = "计划名称")
    @NotBlank(message = "计划名称不能为空")
    @Length(max = 100,message = "计划名称长度不能超过100个字符")
    private String otherPlanName;

    /**
     * 计划类型 0日计划 1月计划
     */
    @ApiModelProperty(value = "计划类型 0日计划 1月计划")
    @NotBlank(message = "请选择计划类型")
    private String otherPlanType;

    /**
     * 计划开始时间
     */
    @ApiModelProperty(value = "计划开始时间")
    private String planStartDate;

    /**
     * 计划结束时间
     */
    @ApiModelProperty(value = "计划结束时间")
    private String planEndDate;

    /**
     * 巷道维修(m)
     */
    @ApiModelProperty(value = "巷道维修(m)")
    @Digits(integer = 9, fraction=2, message = "巷道维修格式不正确")
    @DecimalMin(value = "0.00", message = "巷道维修格式不正确")
    private BigDecimal planRepair;

    /**
     * 灌浆下土量(m³)
     */
    @ApiModelProperty(value = "灌浆下土量(m³)")
    @Digits(integer = 9, fraction=2, message = "灌浆下土量格式不正确")
    @DecimalMin(value = "0.00", message = "灌浆下土量格式不正确")
    private BigDecimal planGrout;

    /**
     * 材料消耗(万元)
     */
    @ApiModelProperty(value = "材料消耗(万元)")
    @Digits(integer = 9, fraction=2, message = "材料消耗格式不正确")
    @DecimalMin(value = "0.00", message = "材料消耗格式不正确")
    private BigDecimal planMaterial;

    /**
     * 注氮量(万米³)
     */
    @ApiModelProperty(value = "注氮量(万米³)")
    @Digits(integer = 9, fraction=2, message = "注氮量格式不正确")
    @DecimalMin(value = "0.00", message = "注氮量格式不正确")
    private BigDecimal planNitrogen;

    /**
     * 瓦斯抽放量(m³)
     */
    @ApiModelProperty(value = "瓦斯抽放量(m³)")
    @Digits(integer = 9, fraction=2, message = "瓦斯抽放量格式不正确")
    @DecimalMin(value = "0.00", message = "瓦斯抽放量格式不正确")
    private BigDecimal planGasext;

    /**
     * 修旧利废(万元)
     */
    @ApiModelProperty(value = "修旧利废(万元)")
    @Digits(integer = 9, fraction=2, message = "修旧利废格式不正确")
    @DecimalMin(value = "0.00", message = "修旧利废格式不正确")
    private BigDecimal planRecycle;

    /**
     * 生活/生产用水(万元)
     */
    @ApiModelProperty(value = "生活/生产用水(万元)")
    @Digits(integer = 9, fraction=2, message = "生活/生产用水格式不正确")
    @DecimalMin(value = "0.00", message = "生活/生产用水格式不正确")
    private BigDecimal planWater;

    /**
     * 电费(万元)
     */
    @ApiModelProperty(value = "电费(万元)")
    @Digits(integer = 9, fraction=2, message = "电费格式不正确")
    @DecimalMin(value = "0.00", message = "电费格式不正确")
    private BigDecimal planPower;



    @ApiModelProperty(value = "煤矿编号")
    private String mineCode;

    @ApiModelProperty(value = "煤矿名称")
    private String mineName;

    @ApiModelProperty(value = "总计划数")
    private String totalPlan;

    @ApiModelProperty(value = "总巷道维修(m)")
    private BigDecimal totalPlanRepair;

    @ApiModelProperty(value = "总灌浆下土量(m³)")
    private BigDecimal totalPlanGrout;

    @ApiModelProperty(value = "总注氮量(万米³)")
    private BigDecimal totalPlanNitrogen;


    @ApiModelProperty(value = "总瓦斯抽放量(m³)")
    private BigDecimal totalPlanGasext;


    @ApiModelProperty(value = "总材料消耗(万元)")
    private BigDecimal totalPlanMaterial;

    @ApiModelProperty(value = "总修旧利废(万元)")
    private BigDecimal totalPlanRecycle;

    @ApiModelProperty(value = "总生活/生产用水(万元)")
    private BigDecimal totalPlanWater;

    @ApiModelProperty(value = "总电费(万元)")
    private BigDecimal totalPlanPower;

    @ApiModelProperty(value = "公司名称")
    private String companyName;

    @ApiModelProperty(value = "公司编码")
    private String companyCode;
}
